Asymmetric random scatter process for probabilistic modeling system for product design

ABSTRACT

A method is provided for designing a product. The method may include obtaining data records relating to one or more input variables and one or more output parameters associated with the product and selecting one or more input parameters from the one or more input variables. The method may also include generating a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records and providing a set of constraints to the computational model representative of a compliance state for the product. Further the method may include using the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters. The one or more input parameters and the one or more output parameters represent a design for the product.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 11/477,515, filed on Jun. 30, 2006, which is a continuation-in-part of U.S. patent application Ser. No. 11/101,498, filed on Apr. 8, 2005, all of which are incorporated herein by reference.

TECHNICAL FIELD

This disclosure relates generally to product design systems and, more particularly, to probabilistic design based modeling systems for use in product design applications with asymmetric random scatter processing techniques.

BACKGROUND

Many computer-based applications exist for aiding in the design of products. Using these applications, an engineer can construct a computer model of a particular product and can analyze the behavior of the product through various analysis techniques. Further, certain analytical tools have been developed that enable engineers to evaluate and test multiple design configurations of a product. While these analytical tools may include internal optimization algorithms to provide this functionality, these tools generally represent only domain specific designs. Therefore, while product design variations can be tested and subsequently optimized, these design variations are typically optimized with respect to only a single requirement within a specific domain.

Finite element analysis (FEA) applications may fall into this domain specific category. With FEA applications, an engineer can test various product designs against requirements relating to stress and strain, vibration response, modal frequencies, and stability. Because the optimizing algorithms included in these FEA applications can optimize design parameters only with respect to a single requirement, however, multiple design requirements must be transformed into a single function for optimization. For example, in FEA analysis, one objective may be to parameterize a product design such that stress and strain are minimized. Because the FEA software cannot optimize both stress and strain simultaneously, the stress and strain design requirements may be transformed into a ratio of stress to strain (i.e., the modulus of elasticity). In the analysis, this ratio becomes the goal function to be optimized.

Several drawbacks result from this approach. For example, because more than one output requirement is transformed into a single goal function, the underlying relationships and interactions between the design parameters and the response of the product system are hidden from the design engineer. Further, based on this approach, engineers may be unable to optimize their designs according to competing requirements.

Thus, there is a need for modeling and analysis applications that can establish heuristic models between design inputs and outputs, subject to defined constraints, and optimize the inputs such that the probability of compliance of multiple competing outputs is maximized. There is also a need for applications that can explain the causal relationship between design inputs and outputs. Further, there is a need for applications that can collect desired patterns of design inputs to reduce computational load required by the optimization. Additionally, there is a need for applications that may allow for high fidelity of the model near one or more boundary conditions of the design parameters.

Certain applications have been developed that attempt to optimize design inputs based on multiple competing outputs. For example, U.S. Pat. No. 6,086,617 (“the '617 patent”) issued to Waldon et al. on Jul. 11, 2000, describes an optimization design system that includes a directed heuristic search (DHS). The DHS directs a design optimization process that implements a user's selections and directions. The DHS also directs the order and directions in which the search for an optimal design is conducted and how the search sequences through potential design solutions.

While the optimization design system of the '617 patent may provide a multi-disciplinary solution for product design optimization, this system has several shortcomings. The efficiency of this system is hindered by the need to pass through slow simulation tools in order to generate each new model result. Further, there is no knowledge in the system model of how variation in the input parameters relates to variation in the output parameters. The system of the '617 patent provides only single point solutions, which may be inadequate especially where a single point optimum may be unstable when subject to variability introduced by a manufacturing process or other sources. Further, the system of the '617 patent is limited in the number of dimensions that can be simultaneously optimized and searched. Additionally, the '617 patent does not provide for high fidelity or scaled solutions near boundary conditions of the input parameters.

Methods and systems consistent with certain features of the disclosed systems are directed to improvements in the existing technology.

SUMMARY

One aspect of the present disclosure includes a method for designing a product. The method may include obtaining data records relating to one or more input variables and one or more output parameters associated with the product and selecting one or more input parameters from the one or more input variables. The method may also include generating a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records and providing a set of constraints to the computational model representative of a compliance state for the product. Further the method may include using the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters. The one or more input parameters and the one or more output parameters may represent a design for the product.

Another aspect of the present disclosure includes a computer readable medium. The computer readable medium may include a set of instructions for enabling a processor to obtain data records relating to one or more input variables and one or more output parameters associated with a product and to select one or more input parameters from the one or more input variables. The set of instructions may also enable the processor to generate a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records and to provide a set of constraints to the computational model representative of a compliance state for the product. Further, the set of instructions may enable the processor to use the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters. The one or more input parameters and the one or more output parameters may represent a design for the product.

Another aspect of the present disclosure includes a computer-based product design system. The design system may include a database containing data records relating one or more input variables and one or more output parameters associated with a product to be designed and a processor. The processor may be configured to obtain data records relating to one or more input variables and one or more output parameters associated with the product and to select one or more input parameters from the one or more input variables. The processor may also be configured to generate a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records and to provide a set of constraints to the computational model representative of a compliance state for the product. Further, the processor may be configured to use the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters. The one or more input parameters and the one or more output parameters represent a design for the product.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representation of a product design system according to an exemplary disclosed embodiment;

FIG. 2 is a flow chart representing an exemplary disclosed method for designing a product consistent with certain disclosed embodiments;

FIG. 3 illustrates a flowchart of an exemplary symmetric random scatter process consistent with certain disclosed embodiments; and

FIG. 4 illustrates a flowchart of an exemplary asymmetric random scatter process consistent with certain disclosed embodiments.

DETAILED DESCRIPTION

Reference will now be made in detail to exemplary embodiments, which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

FIG. 1 provides a block diagram representation of a product design system 100 for generating a design of a product. A product may refer to any entity that includes at least one part or component. A product may also refer to multiple parts assembled together to form an assembly. Non-limiting examples of products include machines, engines, automobiles, aircraft, boats, appliances, electronics, and any sub-components, sub-assemblies, or parts thereof.

A product design may be represented as a set of one or more input parameter values. These parameters may correspond to dimensions, tolerances, moments of inertia, mass, material selections, or any other characteristic affecting one or more properties of the product. The disclosed product design system 100 may be configured to provide a probabilistic product design such that one or more input parameters can be expressed as nominal values and corresponding statistical distributions. Similarly, the product design may include nominal values for one or more output parameters and corresponding statistical distributions. The statistical distributions of the output parameters may provide an indication of the probability that the product design complies with a desired set of output requirements. The statistical distribution may be one sided, such as in a unilateral tolerance, where the nominal value may vary in only one direction.

Product design system 100 may include a processor 102, a memory module 104, a database 106, an I/O interface 108, and a network interface 110. Product design system 100 may also include a display 112. Any other components suitable for receiving and interacting with data, executing instructions, communicating with one or more external workstations, displaying information, etc. may also be included in product design system 100.

Processor 102 may include any appropriate type of general purpose microprocessor, digital signal processor, or microcontroller. Memory module 104 may include one or more memory devices including, but not limited to, a ROM, a flash memory, a dynamic RAM, and a static RAM. Memory module 104 may be configured to store information accessed and used by processor 102. Database 106 may include any type of appropriate database containing information relating to characteristics of input parameters, output parameters, mathematical models, and/or any other control information. I/O interface 108 may be connected to various data input devices (e.g., keyboards, pointers, drawing tablets, etc.) (not shown) to provide data and control information to product design system 100. Network interface 110 may include any appropriate type of network adaptor capable of communicating with other computer systems based on one or more communication protocols. Display 112 may include any type of device (e.g., CRT monitors, LCD screens, etc.) capable of graphically depicting information.

FIG. 2 provides a flow chart representing an exemplary disclosed method for designing a product using product design system 100. At step 202, product design system may obtain data records relating to input variables and output parameters associated with a product to be designed. The data records may reflect characteristics of the input parameters and output parameters, such as statistical distributions, normal ranges, and/or tolerances, etc. For each data record, there may be a set of output parameter values that corresponds to a particular set of input variable values. The data records may represent pre-generated data that has been stored, for example, in database 106. The data may be computer generated or empirically collected through testing of actual products.

In one embodiment, the data records may be generated in the following manner. For a particular product to be designed, a design space of interest may be identified. A plurality of sets of random values may be generated for various input variables that fall within the desired product design space. These sets of random values may be supplied to at least one simulation algorithm to generate values for one or more output parameters related to the input variables. The at least one simulation algorithm may be associated with, for example, systems for performing finite element analysis, computational fluid dynamics analysis, radio frequency simulation, electromagnetic field simulation, electrostatic discharge simulation, network propagation simulation, discrete event simulation, constraint-based network simulation, or any other appropriate type of dynamic simulation.

At step 204, which may be optional, the data records may be pre-processed. Processor 102 may pre-process the data records to clean up the data records for obvious errors and to eliminate redundancies. Processor 102 may remove approximately identical data records and/or remove data records that are out of a reasonable range in order to be meaningful for model generation and optimization. For randomly generated data records, any cases violating variable covariance terms may be eliminated. After the data records have been pre-processed, processor 102 may then select proper input parameters at step 206 by analyzing the data records.

The data records may include many input variables. In certain situations, for example, where the data records are obtained through experimental observations, the number of input variables may exceed the number of the data records and lead to sparse data scenarios. In these situations, the number of input variables may need to be reduced to create mathematical models within practical computational time limits and that contain enough degrees of freedom to map the relationship between inputs and outputs. In certain other situations, however, where the data records are computer generated using domain specific algorithms, there may be less of a risk that the number of input variables exceeds the number of data records. That is, in these situations, if the number of input variables exceeds the number of data records, more data records may be generated using the domain specific algorithms. Thus, for computer generated data records, the number of data records can be made to exceed, and often far exceed, the number of input variables. For these situations, the input parameters selected for use in step 206 may correspond to the entire set of input variables.

Where the number on input variables exceeds the number of data records, and it would not be practical or cost-effective to generate additional data records, processor 102 may select input parameters at step 206 according to predetermined criteria. For example, processor 102 may choose input parameters by experimentation and/or expert opinions. Alternatively, in certain embodiments, processor 102 may select input parameters based on a Mahalanobis distance between a normal data set and an abnormal data set of the data records. The normal data set and abnormal data set may be defined by processor 102 by any suitable method. For example, the normal data set may include characteristic data associated with the input parameters that produce desired output parameters. On the other hand, the abnormal data set may include any characteristic data that may be out of tolerance or may need to be avoided. The normal data set and abnormal data set may be predefined by processor 102.

Mahalanobis distance may refer to a mathematical representation that may be used to measure data profiles based on correlations between parameters in a data set. Mahalanobis distance differs from Euclidean distance in that Mahalanobis distance takes into account the correlations of the data set. The Mahalanobis distance of a row i of set X (e.g., a set of multivariate vectors) from the mean of set X may be represented as

MD_(i)=(X _(i)−μ_(x))Σ⁻¹(X _(i)−μ_(x))′  (1)

where μ_(u) is the mean of X and Σ⁻¹ is an inverse variance-covariance matrix of X. MD_(i) weights the distance of a data point X_(i) from its mean μ_(u) such that observations that are on the same multivariate normal density contour will have the same distance. Such observations may be used to identify and select correlated parameters from separate data groups having different variances.

Processor 102 may select a desired subset of input parameters such that the Mahalanobis distance between the normal data set and the abnormal data set is maximized or optimized. A genetic algorithm may be used by processor 102 to search the input parameters for the desired subset with the purpose of maximizing the Mahalanobis distance. Processor 102 may select a candidate subset of the input parameters based on a predetermined criteria and calculate a Mahalanobis distance MD_(normal) of the normal data set and a Mahalanobis distance MD_(abnormal) of the abnormal data set. Processor 102 may also calculate the Mahalanobis distance between the normal data set and the abnormal data (i.e., the deviation of the Mahalanobis distance MD_(x)=MD_(normal)−MD_(normal)). Other types of deviations, however, may also be used.

Processor 102 may select the candidate subset of the input parameters if the genetic algorithm converges (i.e., the genetic algorithm finds the maximized or optimized Mahalanobis distance between the normal data set and the abnormal data set corresponding to the candidate subset). If the genetic algorithm does not converge, a different candidate subset of the input parameters may be created for further searching. This searching process may continue until the genetic algorithm converges and a desired subset of the input parameters is selected.

After selecting input parameters, processor 102 may generate a computational model to build interrelationships between the input parameters and output parameters (step 208). Any appropriate type of neural network may be used to build the computational model. The type of neural network models used may include back propagation, feed forward models, cascaded neural networks, and/or hybrid neural networks, etc. Particular types or structures of the neural network used may depend on particular applications. Other types of models, such as linear system or non-linear system models, etc., may also be used.

The neural network computational model may be trained by using selected data records. For example, the neural network computational model may include a relationship between output parameters (e.g., engine power, engine efficiency, engine vibration, etc.) and input parameters (e.g., cylinder wall thickness, cylinder wall material, cylinder bore, etc). The neural network computational model may be evaluated by predetermined criteria to determine whether the training is completed. The criteria may include desired ranges of accuracy, time, and/or number of training iterations, etc.

After the neural network has been trained (i.e., the computational model has initially been established based on the predetermined criteria), processor 102 may statistically validate the computational model (step 210). Statistical validation may refer to an analyzing process to compare outputs of the neural network computational model with actual outputs to determine the accuracy of the computational model. Part of the data records may be reserved for use in the validation process. Alternatively, processor 102 may generate simulation or test data for use in the validation process.

Once trained and validated, the computational model may be used to determine values of output parameters when provided with values of input parameters. Further, processor 102 may optimize the model by determining desired distributions of the input parameters based on relationships between the input parameters and desired distributions of the output parameters (step 212).

Processor 102 may analyze the relationships between distributions of the input parameters and desired distributions of the output parameters (e.g., design constraints provided to the model that may represent a state of compliance of the product design). Processor 102 may then run a simulation of the computational model to find statistical distributions for an individual input parameter. That is, processor 102 may separately determine a distribution (e.g., mean, standard variation, etc.) of the individual input parameter corresponding to the ranges of the output parameters representing a compliance state for the product. Processor 102 may then analyze and combine the desired distributions for all the individual input parameters to determined desired distributions and characteristics for the input parameters.

Alternatively, processor 102 may identify desired distributions of input parameters simultaneously to maximize the probability of obtaining desired outcomes (i.e., to maximize the probability that a certain product design is compliant with the desired requirements). In certain embodiments, processor 102 may simultaneously determine desired distributions of the input parameters based on zeta statistic. Zeta statistic may indicate a relationship between input parameters, their value ranges, and desired outcomes. Zeta statistic may be represented as

${\zeta = {\sum\limits_{1}^{j}\; {\sum\limits_{1}^{i}{{S_{ij}}\left( \frac{\sigma_{i}}{{\overset{\_}{x}}_{i}} \right)\left( \frac{{\overset{\_}{x}}_{j}}{\sigma_{j}} \right)}}}},$

where x _(i) represents the mean or expected value of an ith input; x _(j) represents the mean or expected value of a jth outcome; σ_(i) represents the standard deviation of the ith input; σ_(j) represents the standard deviation of the jth outcome; and |S_(ij)| represents the partial derivative or sensitivity of the jth outcome to the ith input.

Processor 102 may identify a desired distribution of the input parameters such that the zeta statistic of the neural network computational model is maximized or optimized. A genetic algorithm may be used by processor 102 to search the desired distribution of input parameters with the purpose of maximizing the zeta statistic. Processor 102 may select a candidate set of input parameters with predetermined search ranges and run a simulation of the product design model to calculate the zeta statistic parameters based on the input parameters, the output parameters, and the neural network computational model. Processor 102 may obtain x _(i) and σ_(i) by analyzing the candidate set of input parameters, and obtain x _(j) and σ_(j) by analyzing the outcomes of the simulation. Further, processor 102 may obtain |S_(ij)| from the trained neural network as an indication of the impact of ith input on the jth outcome.

Although maximizing the zeta statistic may increase stability of the outcome in the face of variable inputs, it does not ensure that the outcome converges to an optimal solution. Incorporating the C_(pk, min) statistic may produce more robust outcomes and improve the optimization of the solution. The C_(pk, min) statistic may be represented as

${C_{{pk},\min} = {\min \left\{ {\frac{{USL} - {\overset{\_}{x}}_{j}}{3\; \sigma_{j}},\frac{{\overset{\_}{x}}_{j} - {LSL}}{3\; \sigma_{j}}} \right\}}},$

where C_(pk,min) represents the process capability index, USL, LSL represent the upper and lower specification limits, respectively, of the jth outcome, x _(j) represents the mean or expected value of a jth outcome, and σ_(j) represents the standard deviation of the jth outcome.

The zeta statistic multiplied by C_(pk, min) may serve as a goal function for the optimization, where C_(pk, min) is the process capability of the outcome that is least in control of the outcomes under consideration. It is desirable to maximize the zeta statistic multiplied by C_(pk, min). The zeta statistic multiplied by C_(pk, min) may be a useful goal function, as it is stable and focuses on the inputs that most affect the outcomes. Least in control may be the lowest value for C_(pk, min), and this lowest value drives the goal function. This approach may allow consideration of multiple input/outcome relationships simultaneously in the zeta statistic. The zeta statistic may provide for the possibility that a jth outcome may not vary over a portion of the ith variable range by allowing S_(ij)=0 for that portion of the range. In other words, to maximize the zeta function we want poor input control to produce consistent outcome control by focusing on only the most significant input/outcome relationships.

Processor 102 may select the candidate set of values of input parameters if the genetic algorithm converges (i.e., the genetic algorithm finds the maximized or optimized zeta statistic of the product design model corresponding to the candidate set of input parameters). If the genetic algorithm does not converge, a different candidate set of values of input parameters may be created by the genetic algorithm for further searching. This searching process may continue until the genetic algorithm converges and a desired set of values of the input parameters is identified. Processor 102 may further determine desired distributions (e.g., mean and standard deviations) of input parameters based on the desired set of values of input parameters.

In certain embodiments, processor 102 may perform a symmetric random scatter (SRS) process to decrease the amount of time that processor 102 spends on the above searching process. In other embodiments, processor 102 may perform an asymmetric random scatter (aSRS) process to decrease the amount of time that processor 102 spends on the above searching process.

The SRS process can be thought of as creating a set of symmetric seed points around a center point in the design space. The aSRS process can be thought of as creating the same percentage of points on each side of a center point in the design space. In some cases, such as when the boundaries of one or more inputs are asymmetric about the center point, an aSRS process may converge with less iterations than a SRS process.

A symmetric scatter, as used herein, may refer to a mathematical object resulted from a symmetric transformation of an original mathematic object. The original mathematic object may include any appropriate mathematical objects, such as polynomials, vectors, shapes, or discrete mathematical objects, etc. The symmetric transformation may include any appropriate type of mathematical operations, such as mirroring, geometrical transformation, or space/vector transformation, etc. A symmetric random scatter may refer to the symmetric scatter of a random original mathematical object. FIG. 3 illustrates an exemplary SRS process performed by processor 102.

An asymmetric scatter, as used herein, may refer to a mathematical object resulting from an asymmetric transformation of an original mathematic object. The original mathematical object is scaled, that is, the engineering units are converted to a range between minus one (−1) and one (1). The original mathematic object may include any appropriate mathematical objects, such as polynomials, vectors, shapes, or discrete mathematical objects, etc. The asymmetric transformation may include any appropriate type of mathematical operations, such as mirroring, geometrical transformation, or space/vector transformation, etc. An asymmetric random scatter may refer to the asymmetric scatter of a random original mathematical object. FIG. 4 illustrates an exemplary aSRS process performed by processor 102.

As shown in FIG. 3, at the beginning of the SRS process, processor 102 may obtain a starting range for each of the input parameters (step 302). Processor 102 may obtain the starting range by analyzing the select data records of the input parameters. The processor 102 may also obtain the starting range from other applications or processes associated with the input parameters. After the starting range for each of the input parameters are obtained (step 302), processor 102 may create a centroid data record of the input parameters (step 304). The centroid data record may be a mean of the input parameters. The mean may include any appropriate mathematical mean of the input parameters, such as statistical mean, or geometric mean, etc. For example, the centroid data record may include a midpoint of each of the input parameters. Other types of means, however, may also be used.

The starting range of each input parameters may define an input space (i.e., all ranges or possible values of the input parameters), the centroid data record may then be referred to as a center of the input space. After the centroid data record is created (step 304), processor 102 may create a plurality of sample data records within the starting range (step 306). The sample data records may include any data record having a value for each input parameter from the starting range. Processor 102 may create the sample data records in various ways. In certain embodiments, the sample records may be created randomly by processor 102. The total number of the sample data records may be predetermined base on a particular application. For example, a total of approximately 10 sample data records may be created for the applications described in this disclosure. Other numbers of sample data records, however, may also be used.

Further, processor 102 may create a corresponding plurality of SRS data records (step 308). To create the SRS data records, processor 102 may calculate a SRS for each sample data record. That is, each sample data record may be an original mathematic object and the SRS of each sample data record may be a symmetric vector opposite of each original mathematic object (e.g., a vector) with respect to the centroid data record (e.g., the center of the input space). For example, an original two-dimensional vector (1,1) may have a symmetric scatter of (−1, −1) with respect to a centroid of (0, 0). Because the SRS data records may be symmetric scatters of the sample data records, the combination of the SRS data records, the sample data records, and the centroid data record may reflect a random part of the starting range centered at the mean of the input parameters.

After creating the plurality of SRS data records, processor 102 may use the SRS data records, the sample data records, and the centroid data record as the selected data records to perform the zeta statistic optimization as describe above (step 310). Processor 102 may also generate a desired distribution or desired range of the input parameters from the zeta statistic optimization. Further, processor 102 may compare the starting range of the input parameters with the desired range of the input parameters (step 312).

Processor 102 may determine whether the starting range matches with the desired range (step 314). The criteria for determining whether or not the two ranges match may be different depending on the particular application. For example, processor 102 may determine a match if the two ranges match each other exactly. Or processor 102 may determine a match if the two ranges match each other within a predetermined error margin. Further, processor 102 may determine a match if the desired range covers the starting range, or the starting range covers the desired range, within a predetermined error margin. Other types of matching, however, may also be used.

If processor 102 determines that the desired range matches the starting range (step 314; yes), processor 102 may complete the SRS process and continue with the designing process. On the other hand, if processor 102 determines that the desired range does not match the starting range (step 314; no), processor 102 may use the desired range as the starting range in step 302 and continue the SRS process until the two ranges match or until a predetermined time period expires. In an alternate embodiment, if processor 102 determines that the desired range does not match the starting range (step 314; no), processor 102 may begin an aSRS process until the two ranges match or until a predetermined time period expires. FIG. 4 illustrates a flowchart 400 depicting an exemplary aSRS process.

The aSRS process may perform many of the same steps as the SRS process, and those steps may not be described in full detail again where similar. As shown in FIG. 4, at the beginning of the aSRS process, processor 102 may obtain a starting range for each of the input parameters (step 402). Processor 102 may obtain the starting range by analyzing the select data records of the input parameters. The processor 102 may also obtain the starting range from other applications or processes associated with the input parameters. After the starting range for each of the input parameters are obtained (step 402), processor 102 may create an initial central data record of the input parameters (step 404). The initial central data record may be a starting value for the input parameters. The starting value may be derived from the boundaries of the problem, probable solutions, sound engineering judgment, or as a desired range produced by a previous SRS process or a previous aSRS process. The initial central data record may not be in the center of the range of the input parameters. For example, the initial central data record may include a starting value of each of the input parameters. In one exemplary embodiment, the initial central data record may have starting values close to one or more boundaries of the input parameters, and not in the center or mean of the input ranges.

The starting range of each input parameters may define an input space (i.e., all ranges or possible values of the input parameters), the initial central data record may then be referred to as a center of the input space, even though technically it is not at the center of the input space. After the initial central data record is created (step 404), processor 102 may scale each starting range for each of the input parameters centered around the starting value of each of the input parameters (step 406). Scaling may comprise transforming the range between the lower boundary and the starting value of each input parameter to between minus one (−1) and zero (0). Scaling my further comprise transforming the range between the starting value of each input parameter and the upper boundary to between zero (0) and one (1). Scaling may cause each pair in the creation of a corresponding plurality of aSRS data records in step 410 to be an equal distance around the center of the input space in the scaled space. Scaling should make a matched pair of points around the center of the input space an equal percentage of distance to the boundary. For example, in a range of 800 rpm to 3000 rpm, where 1800 rpm is the center of the input space, scale 800 to 1800 rpm to −1 to 0, and scale 1800 to 3000 rpm from 0 to 1.

After scaling each starting range (step 406), processor 102 may create a plurality of sample data records within the starting range (step 408). Step 408 may be essentially the same as step 306, and the details will not be repeated.

Further, processor 102 may create a corresponding plurality of aSRS data records (step 410). The creation of aSRS data records is the same as the creation of SRS data records in step 308, except the data records are created in the scaled input space. Because the aSRS data records may be symmetric scatters in the scaled input space of the sample data records, the combination of the aSRS data records, the sample data records, and the initial center data record may reflect a random part of the starting range centered at the mean of the scaled input parameters.

After creating the plurality of aSRS data records, processor 102 may use the aSRS data records, the sample data records, and the initial center data record as the selected data records to perform the zeta statistic optimization as describe above (step 412). Processor 102 may also generate a desired distribution or desired range of the input parameters from the zeta statistic optimization.

Processor 102 may transform the scaled results of step 412 back into engineering units (step 414). De-scaling may comprise transforming results at or below the initial center data point from minus one (−1) and zero (0) to the range between the lower boundary and the starting value of each input parameter. Scaling my further comprise transforming results at or above the initial center data point from zero (0) and one (1) to the range between the starting value of each input parameter and the upper boundary. Further, processor 102 may compare the starting range of the input parameters with the desired range of the input parameters (step 416).

Processor 102 may determine whether the starting range matches with the desired range (step 416). The criteria for determining whether or not the two ranges match may be different depending on the particular application. For example, processor 102 may determine a match if the two ranges match each other exactly. Or processor 102 may determine a match if the two ranges match each other within a predetermined error margin. Further, processor 102 may determine a match if the desired range covers the starting range, or the starting range covers the desired range, within a predetermined error margin. Other types of matching, however, may also be used.

If processor 102 determines that the desired range matches the starting range (step 418; yes), processor 102 may complete the aSRS process and continue with the designing process. On the other hand, if processor 102 determines that the desired range does not match the starting range (step 418; no), processor 102 may use the desired range as the starting range in step 402 and continue the aSRS process until the two ranges match or until a predetermined time period expires.

Returning to FIG. 2, after the product design model has been optimized (step 212), processor 102 may define a valid input space (step 214) representative of an optimized design of the product. This valid input space may represent the nominal values and corresponding statistical distributions for each of the selected input parameters. To implement the design of the product, values for the input parameters selected within the valid input space would maximize the probability of achieving a compliance state according to the constraints provided to the model.

Once the valid input space has been determined, this information may be provided to display 112. Along with the input space information, the nominal values of the corresponding output parameters and the associated distributions may also be supplied to display 112. Displaying this information conveys to the product design engineer the ranges of values for the selected input parameters that are consistent with the optimized product design. This information also enables the engineer to determine the probability of compliance of any one of or all of the output parameters in the optimized product design.

While the processor 102 may be configured to provide an optimized product design based on the interrelationships between the selected input parameters and the output parameters and on the selected output constraints, the model allows for additional input by the product design engineer. Specifically, at step 218, the engineer is allowed to determine if the optimized product design generated by processor 102 represents the desired final design. If the answer is yes (step 218, yes), then the process ends. If the answer is no (step 218, no) the engineer can generate a design alternative (step 220).

To generate a design alternative, the engineer can vary any of the values of the input parameters or the distributions associated with the input parameters. The changed values may be supplied back to the simulation portion of the model for re-optimization. Based on the changed values, the model will display updated values and distributions for the output parameters changed as a result of the change to the input parameters. From the updated information, the engineer can determine how the alternative product design impacts the probability of compliance. This process can continue until the engineer decides on a final product design. It should be noted that alternative designs may also be generated by varying the values or distributions for the output parameters or by defining different or additional product design constraints.

Display 112 may also be used to display statistical information relating to the performance of the product design model. For example, distributions for the input parameters and the output parameters may be calculated based on the original data records. These distributions may represent an actual statistical space that can be compared with a predicted statistical space generated by the model. Overlap of the actual statistical space with the predicted statistical space may indicate that the model is functioning as expected.

INDUSTRIAL APPLICABILITY

The disclosed systems and methods may efficiently provide optimized product designs for any type of product that can be modeled by computer. Based on the disclosed system, complex interrelationships may be analyzed during the generation of computational models to optimize the models by identifying distributions of input parameters to the models to obtain desired outputs. The robustness and accuracy of product designs may be significantly improved by using the disclosed systems and methods.

The efficiency of designing a product may also be improved using the disclosed systems and methods. For example, the disclosed zeta statistic approach yields knowledge of how variation in the input parameters translates to variation in the output parameters. Thus, by defining the interrelationships between the input parameters and the output parameters in a system, the disclosed product design system can operate based on a proxy concept. That is, because these interrelationships are known and modeled, there is no need to use domain specific algorithm tools each time the model wishes to explore the effects of a variation in value or distribution of an input parameter or output parameter. Thus, unlike traditional systems that must pass repeatedly pass through slow simulations as part of a design optimization process, the disclosed modeling system takes advantage of well-validated models (e.g., neural network models) in place of slow simulations to more rapidly determine an optimized product design solution.

The disclosed product design system can significantly reduce the cost to manufacture a product. Based on the statistical output generated by the model, the model can indicate the ranges of input parameter values that can be used to achieve a compliance state. The product design engineer can exploit this information to vary certain input parameter values without significantly affecting the compliance state of the product design. That is, the manufacturing constraints for a particular product design may be made less restrictive without affecting (or at least significantly affecting) the overall compliance state of the design. Relaxing the manufacturing design constraints can simplify the manufacturing process for the product, which can lead to manufacturing cost savings.

The disclosed product design system can also enable a product design engineer to explore “what if” scenarios based on the optimized model. Because the interrelationships between input parameters and output parameters are known and understood by the model, the product designer can generate alternative designs based on the optimized product design to determine how one or more individual changes will affect the probability of compliance. While these design alternatives may move away from the optimized product design solution, this feature of the product design system can enable a product designer to adjust the design based on experience. Specifically, the product designer may recognize areas in the optimized model where certain manufacturing constraints may be relaxed to provide a cost savings, for example. By exploring the effect of the alternative design on product compliance probability, the designer can determine whether the potential cost savings of the alternative design would outweigh a potential reduction in probability of compliance.

The disclosed product design system can also enable a design engineer to collect a pattern of design candidates that gives an improved probability of modeling the design space in a minimum number of simulation or data collection operations based on the symmetric random scatter (SRS) process and/or the asymmetric random scatter (aSRS) process. The SRS process and/or the aSRS process may also be combined with other modeling or design applications to significantly reduce the order of design iterations. Asymmetric random scatter may be helpful for modeling cases where one or more tolerances are unilateral, as opposed to bilateral.

The disclosed product design system has several other advantages. For example, the use of genetic algorithms at various stages in the model avoids the need for a product designer to define the step size for variable changes. Further, the model has no limit to the number of dimensions that can be simultaneously optimized and searched.

Other embodiments, features, aspects, and principles of the disclosed exemplary systems will be apparent to those skilled in the art and may be implemented in various environments and systems. 

1. A method for designing a product, comprising: obtaining data records relating to one or more input variables and one or more output parameters associated with the product; selecting one or more input parameters from the one or more input variables; generating a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records; providing a set of constraints to the computational model representative of a compliance state for the product; and using the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters, wherein the one or more input parameters and the one or more output parameters represent a design for the product.
 2. The method of claim 1, further including using the computational model to generate nominal values for the one or more input parameters and the one or more output parameters.
 3. The method of claim 2, further including modifying the design for the product by adjusting at least one of the statistical distributions and the nominal values for any of the one or more input parameters and the one or more output parameters.
 4. The method of claim 1, wherein using the computational model further includes: obtaining respective ranges of the input parameters; creating a plurality of scaled model data records based on the respective ranges of the input parameters; determining a candidate set of values of scaled input parameters using the plurality of scaled model data records with a maximum zeta statistic multiplied by a process capability index C_(pk, min) using a genetic algorithm; and determining the statistical distributions of the one or more input parameters based on the candidate set, defining the zeta statistic ζ as: ${\zeta = {\sum\limits_{1}^{j}\; {\sum\limits_{1}^{i}{{S_{ij}}\left( \frac{\sigma_{i}}{{\overset{\_}{x}}_{i}} \right)\left( \frac{{\overset{\_}{x}}_{j}}{\sigma_{j}} \right)}}}},$ wherein x _(i) represents a mean of an ith input, x _(j) represents the mean of a jth outcome, σ_(i) represents a standard deviation of the ith input, σ_(j) represents the standard deviation of the jth outcome, and |S_(ij)| represents sensitivity of the jth outcome to the ith input of the computational model, defining the process capability index of the outcome least in control of the 1 . . . j outcomes under consideration, C_(pk, min), as: ${C_{{pk},\min} = {\min \left\{ {\frac{{USL} - {\overset{\_}{x}}_{j}}{3\; \sigma_{j}},\frac{{\overset{\_}{x}}_{j} - {LSL}}{3\; \sigma_{j}}} \right\}}},$ wherein USL, LSL represent upper and lower specification limits respectively of the jth outcome, x _(j) represents the mean or expected value of the jth outcome, and σ_(j) represents the standard deviation of the jth outcome.
 5. The method of claim 4, wherein the creating further includes: scaling the respective ranges of the input parameters; creating an initial central data record including corresponding to starting values of the scaled respective ranges of the input parameters; randomly creating a plurality of sample data records of the input parameters within the scaled respective ranges of the input parameters; creating a plurality of respective aSRS data records of the plurality of sample data records as asymmetric scatter of the plurality of sample data records with respect to the initial central data record; and creating the plurality of data records by combining the initial central data record, the sample data records, and the aSRS data records.
 6. The method of claim 5, wherein corresponding to starting values includes starting values that are derived from one or more of the boundaries of the computational model, probable solutions to the computational model, or a desired range produced by a previous SRS process or aSRS process.
 7. The method of claim 4, further including: comparing the statistical distributions of the input parameters with the scaled respective ranges of input parameters; and determining whether the statistical distributions of the input parameters match the scaled respective ranges of input parameters.
 8. The method of claim 7, further including: if the statistical distributions of the input parameters do not match the scaled respective ranges of the input parameters, changing the scaled respective ranges of the input parameters to the same as the statistical distributions of the input parameters; and re-determining the statistical distributions of the input parameters based on the changed scaled respective ranges until the statistical distributions of the input parameters match the scaled respective range of the input parameters.
 9. The method of claim 8, further including graphically displaying on a display: the statistical distributions for the one or more input parameters and the one or more output parameters; nominal values for the one or more input parameters and the one or more output parameters; and statistical information for the one or more input parameters and the one or more output parameters obtained based on the data records.
 10. A computer readable medium including a set of instructions for enabling a processor to: obtain data records relating to one or more input variables and one or more output parameters associated with a product; select one or more input parameters from the one or more input variables; generate a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records; provide a set of constraints to the computational model representative of a compliance state for the product; and use the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters, wherein the one or more input parameters and the one or more output parameters represent a design for the product.
 11. The computer readable medium of claim 10, wherein the instructions for enabling the processor to use the computational model further enable the processor to: obtain respective ranges of the input parameters; create a plurality of scaled model data records based on the respective ranges of the input parameters; determine a candidate set of values of scaled input parameters using the plurality of scaled model data records with a maximum zeta statistic multiplied by a process capability index C_(pk, min) using a genetic algorithm; and determine the statistical distributions of the one or more input parameters based on the candidate set, define the zeta statistic ζ as: ${\zeta = {\sum\limits_{1}^{j}\; {\sum\limits_{1}^{i}{{S_{ij}}\left( \frac{\sigma_{i}}{{\overset{\_}{x}}_{i}} \right)\left( \frac{{\overset{\_}{x}}_{j}}{\sigma_{j}} \right)}}}},$ wherein x _(i) represents a mean of an ith input, x _(j) represents the mean of a jth outcome, σ_(i) represents a standard deviation of the ith input, σ_(j) represents the standard deviation of the jth outcome, and |S_(ij)| represents sensitivity of the jth outcome to the ith input of the computational model, define the process capability index of the outcome least in control of the 1 . . . j outcomes under consideration, C_(pk, min), as: ${C_{{pk},\min} = {\min \left\{ {\frac{{USL} - {\overset{\_}{x}}_{j}}{3\; \sigma_{j}},\frac{{\overset{\_}{x}}_{j} - {LSL}}{3\; \sigma_{j}}} \right\}}},$ wherein USL, LSL represent upper and lower specification limits respectively of the jth outcome, x _(j) represents the mean or expected value of the jth outcome, and σ_(j) represents the standard deviation of the jth outcome.
 12. The computer readable medium of claim 11 further including instructions for enabling the processor to: scale the respective ranges of the input parameters; create an initial central data record including corresponding to starting values of the scaled respective ranges of the input parameters; randomly create a plurality of sample data records of the input parameters within the scaled respective ranges of the input parameters; create a plurality of respective aSRS data records of the plurality of sample data records as asymmetric scatter of the plurality of sample data records with respect to the initial central data record; and create the plurality of data records by combining the initial central data record, the sample data records, and the aSRS data records.
 13. The computer readable medium of claim 12, wherein corresponding to starting values includes starting values that are derived from one or more of the boundaries of the computational model, probable solutions to the computational model, or a desired range produced by a previous SRS process or aSRS process.
 14. The computer readable medium of claim 11 further including instructions for enabling the processor to: compare the statistical distributions of the input parameters with the scaled respective ranges of input parameters; and determine whether the statistical distributions of the input parameters match the scaled respective ranges of input parameters.
 15. The computer readable medium of claim 11 further including instructions for enabling the processor to graphically display: the statistical distributions for the one or more input parameters and the one or more output parameters; nominal values for the one or more input parameters and the one or more output parameters; and statistical information for the one or more input parameters and the one or more output parameters obtained based on the data records.
 16. A computer-based product design system, comprising: a database containing data records relating one or more input variables and one or more output parameters associated with a product to be designed; and a processor configured to: obtain data records relating to the one or more input variables and the one or more output parameters associated with the product; select one or more input parameters from the one or more input variables; generate a computational model indicative of interrelationships between the one or more input parameters and the one or more output parameters based on the data records; provide a set of constraints to the computational model representative of a compliance state for the product; and use the computational model and the provided set of constraints to generate statistical distributions for the one or more input parameters based on an asymmetric random scatter process and the one or more output parameters, wherein the one or more input parameters and the one or more output parameters represent a design for the product.
 17. The computer-based product design system of claim 16, wherein to use the computational model to generate statistical distributions, the processor is further configured to: obtain respective ranges of the input parameters; create a plurality of scaled model data records based on the respective ranges of the input parameters; determine a candidate set of values of scaled input parameters using the plurality of scaled model data records with a maximum zeta statistic multiplied by a process capability index C_(pk, min) using a genetic algorithm; and determine the statistical distributions of the one or more input parameters based on the candidate set, define the zeta statistic ζ as: ${\zeta = {\sum\limits_{1}^{j}\; {\sum\limits_{1}^{i}{{S_{ij}}\left( \frac{\sigma_{i}}{{\overset{\_}{x}}_{i}} \right)\left( \frac{{\overset{\_}{x}}_{j}}{\sigma_{j}} \right)}}}},$ wherein x _(i) represents a mean of an ith input, x _(j) represents the mean of a jth outcome, σ_(i) represents a standard deviation of the ith input, σ_(j) represents the standard deviation of the jth outcome, and |S_(ij)| represents sensitivity of the jth outcome to the ith input of the computational model, define the process capability index of the outcome least in control of the 1 . . . j outcomes under consideration, C_(pk, min), as: ${C_{{pk},\min} = {\min \left\{ {\frac{{USL} - {\overset{\_}{x}}_{j}}{3\; \sigma_{j}},\frac{{\overset{\_}{x}}_{j} - {LSL}}{3\; \sigma_{j}}} \right\}}},$ wherein USL, LSL represent upper and lower specification limits respectively of the jth outcome, x _(j) represents the mean or expected value of the jth outcome, and σ_(j) represents the standard deviation of the jth outcome.
 18. The computer-based product design system of claim 17, wherein to use the computational model to generate statistical distributions, the processor is further configured to: scale the respective ranges of the input parameters; create an initial central data record including corresponding to starting values of the scaled respective ranges of the input parameters; randomly create a plurality of sample data records of the input parameters within the scaled respective ranges of the input parameters; create a plurality of respective aSRS data records of the plurality of sample data records as asymmetric scatter of the plurality of sample data records with respect to the initial central data record; and create the plurality of data records by combining the initial central data record, the sample data records, and the aSRS data records.
 19. The computer-based product design system of claim 18, wherein corresponding to starting values includes starting values that are derived from one or more of the boundaries of the computational model, probable solutions to the computational model, or a desired range produced by a previous SRS process or aSRS process.
 20. The computer-based product design system of claim 16, further including: a display; wherein the processor is configured to display the statistical distributions for the one or more input parameters and the one or more output parameters; nominal values for the one or more input parameters and the one or more output parameters; and statistical information for the one or more input parameters and the one or more output parameters obtained based on the data records. 